package cn.date;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;

public class DateSort1 {
public static void main( String[] args ) {
        
        final Random random = new Random();
    
    	final Calendar calendar = Calendar.getInstance();
        
        final Date[] dates = new Date[ 5 ] ;
        String pattern="Gyyyy年MM月dd日EE HH:mm:ss.SSS";
        DateFormat fd=new SimpleDateFormat(pattern);
        
        // 使用循环对 dates 数组进行初始化
        for( int i = 0 ; i < dates.length ; i++){
            // 随机产生 年份、月份、日期，并将其设置到 calendar 对象中
            int year=random.nextInt(2020);
            int month=random.nextInt(12)+1;
            int day=random.nextInt(30)+1;
            calendar.set(year, month, day,0,0,0);
            calendar.set(Calendar.MILLISECOND,0);
            // 随后使用 calendar 的 getTime 来获取 Date 实例
            Date date = calendar.getTime() ;
            dates[ i ] = date ;
        }
        for(int i=0;i<dates.length;i++) {
        	System.out.println(fd.format(dates[i]));
        }
        // 使用循环输出排序前的日期
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~");
        // 使用 Date 类提供的方法，对日期进行比较并排序
        for(int i=0;i<dates.length-1;i++){
        	for(int j=i;j<dates.length;j++) {
        		if(dates[i].after(dates[j])) {
        			Date temp=dates[i];
        			dates[i]=dates[j];
        			dates[j]=temp;
        		}
        	}
        }
        // 使用循环输出排序后的日期
        for(int i=0;i<dates.length;i++) {
        	System.out.println(fd.format(dates[i]));
        }     
    }
    
}

